<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
   <title>Dynamic Plug-in Details</title>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#FFFFFF">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">Dynamic 
      Plug-in Details</font></font></b></td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"> 
      <p><b>Dynamic Plug-ins</b></p>
      <p>This work is being done in conjunction with the <a href="http://www.eclipse.org/equinox">Equinox</a> 
        project.</p>
      <p><i>Plug-in Deactivation </i> - (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36956">36956</a>) 
        In Eclipse plug-ins are activated once referenced and they remain in that 
        state for the duration of the user's Eclipse session. In an effort to 
        reduce memory footprint (amung other reasons) we are investigating allowing 
        plug-ins to become deactivated when they are not being used, and thus 
        that amount of memory could be reclaimed for use by the system.</p>
      <p><i>Incremental Registry Resolution</i> - When a user installs new plug-ins 
        in Eclipse, they are currently forced to restart their system in order 
        for their changes to take effect. This is because currently the plug-in 
        registry is parsed when the system starts up and from that point forward 
        it remains static. We would like to change the plug-in registry resolution 
        to be dynamic, that is to allow the user to add new plug-ins to the system 
        and remove plug-ins from the system at any given point in time and have 
        the system react and behave appropriately.</p>
      <p>&nbsp;</p>
    </td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td> 
      <p><b>Progress updates</b></p>
      <p>October 7, 2003 - New API for dynamically installing plug-ins is available.
      API changes:
      <ul>
      <li>new package org.eclipse.core.runtime.registry - this package provides an extension 
      registry, a simplified view of the plug-in registry. The extension registry (available 
      through the org.eclipse.core.runtime.Platform class) provides a way for
      plug-ins to be notified when extensions are added to or removed from extension points.
      </li>
      <li>new methods in org.eclipse.core.runtime.Platform - the added methods allow clients to 
      install plug-ins dynamically and to listen to plug-in lifecycle events, such as
      plug-in addition and activation.
      </li>
      </ul>
      <b>N.B.</b> <i>-dynamic, a new command-line option was defined to put the platform in the 
      "dynamic mode". Currently, this option is required so the APIs described above can be used. This option
      is temporary and will not be supported in future builds.
      </i>
      </p>
    </td>
  </tr>
</table>

</body>
</html>
